import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

public class Food2 extends Food
{
    private long startTime = System.currentTimeMillis();  // 计时器起始时间
    private long duration = 5000;  // 倒计时5秒（5000毫秒）

    public void act()
    {
        checkTime();  // 检查时间，进行计时
        setFood();
    }

    // 每次检查是否已经超时，超时后调用 randomChose
    public void checkTime()
    {
        if (System.currentTimeMillis() - startTime > duration) {
            // 超过5秒时，调用 randomChose 来重新生成食物
            RandomChose();
            duration = 900000000;


        }
    }
    public void setFood()
    {
        if(isTouching(Snake.class)){  //若是碰到贪食蛇，则随机移动到新的位置                   
            randomChose();
        }
    }
    public void RandomChose()
    {
        // 获取当前世界
        World world = getWorld();
            
            // 随机选择一个Food子类
            Class selectedFoodClass = foodClasses[Greenfoot.getRandomNumber(foodClasses.length)];
            
            try {
                // 创建一个随机选择的Food子类的实例
                Food newFood = (Food) selectedFoodClass.getDeclaredConstructor().newInstance();
                
                // 随机位置
                x = 10 + Greenfoot.getRandomNumber(world.getWidth() - 20);
                y = 10 + Greenfoot.getRandomNumber(world.getHeight() - 20);
                
                // 将新食物添加到世界中
                world.addObject(newFood, x, y);
            } catch (Exception e) {
                e.printStackTrace();
            }
            setLocation(5000, 5000);
    }
    
    }

